Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2012, 22:28
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

Почему ошибка с JSON
Код JS:
function test2() {
            $.ajax({
                type: "POST",
                url: "/orbus",
                dataType: 'JSON',
                    
                data: {
                    id: 42,
                    login: 'Anette',
                    fio: ['Камак', 'Анна', 'Ярославовна']
                },
                
                beforesend: $('.content').html('Загрузка'),
                
                success: function(data, code){
                    if (code==200){
                      $('.content').html(data); // запрос успешно прошел
                    }else{
                      $('.content').html(code); // возникла ошибка, возвращаем код ошибки
                    }
                    
                  $('.content').html('Ваше имя2: '+data.fio[1]); // данные которые вернул сервер!
 
                },
                
                error:  function(van, two, three, fd){
                     $('.content').html(van+" | "+two+" | "+three+" | "+fd); 
                },
                
                complete:  function(){ //а тут ничего из предложенных параметров не берем :)
                    $('#something').hide(); //например, спрятали какую-то кнопочку, которая вызывала запрос
                }
            
            });
 
    }



Код PHP:
$data = array(
            'login' => 'anette',
            'fio' => array('1','2','3'),
            'age' => 20,
            'sex' => 'female',
            'work' => 'designer'
        );

        echo json_encode($data);
    }


Выдает ошибку:
"[object Object] | parsererror | SyntaxError: JSON.parse: Unable to parse value:"
Что делать, где искать проблемму, firebug ошибок не выдает...
URL - 100% верный, так как в текстовике остается запись, что коннект был... Однако ничего не передалось...
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2012, 23:58
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

на сервере поменяйте кодировку скрипта на кодировку utf-8 без BOM
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2012, 00:38
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

Так и есть, но все равно не работает...
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2012, 00:52
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

перекешируйте скрипт, если на cms сидите и она кеширует серверные скрипты. если не поможет-
http://jsonlint.com/ вставьте приходящий ясон -определите хоть на какой стороне ошибка
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2012, 00:58
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

Сайт на Zend Framework, такой же код, но отдельно от ЗФ работает нормально, а вот если передавать все тоже самое, но в файл ЗФ, то вот такие ошибки, хотя кодировка таже самая и код внутри модуля тоже...
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2012, 01:01
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

такая ошибка возникает если кодировка с BOM . закешировал-99% . 1%- попробуйте использовать windows 1251-не поможет если кеш

http://www.avim.ru/technologies/zend_server
Для увеличения производительности приложений данный программный продукт использует уникальные встроенные технологии, такие как:
Zend Optimizer+ - выполняет оптимизацию и кэширование байт-кода. Это увеличивает скорость PHP-приложений путем исключения процесса чтения скриптов с диска и их компилирования.
Zend Data Cache - набор функций API, позволяющих разработчику сохранять и управлять данными. Zend Data Cache позволяет настроить тонкое кэширование там, где полное кэширование страниц невозможно.

Последний раз редактировалось dmitriymar, 21.10.2012 в 01:07.
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2012, 01:06
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

У меня эта функция отключена, однако точно ошибка на сервере...
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2012, 01:09
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от OklickSpb
У меня эта функция отключена, однако точно ошибка на сервере...
она возникает если BOM. пробуйте windows 1251 -не забудьте и о странице сайта . если не поможет -кеш однозначно
P.S. заголовки запроса в фаирбаге посмотрите - поймёте в какой кодировке приходит. сеть-xhr . заодно и поймёте кеш или не кеш. Ответ приходит в той кодировке, какая указана в запросе -обратите внимание на кодировку страницы

Последний раз редактировалось dmitriymar, 21.10.2012 в 01:19.
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2012, 01:30
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

characterSet


"UTF-8"

Последний раз редактировалось OklickSpb, 21.10.2012 в 01:32.
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2012, 02:15
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от OklickSpb
characterSet
а BOM не допишет ,если даже он есть. Я имел в виду поменять на 1251 и страницы и сценария и тогда посмотреть. Самый простой способ проверить приходит с BOM или нет:
Скопировать json ответ
загнать в валидатор
если ошибка удалить всё кроме крайних скобок
проверить валидатором -если ошибка, значит BOM
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
json получает только первую строчку из mysql почему ? Sadist_dead AJAX и COMET 14 11.08.2011 05:20
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10
Не понимаю почему возникает ошибка при перетаскивании satels jQuery 4 10.01.2010 03:57
Ошибка в jquery.forms ? Помогите разобраться. Ксандер jQuery 10 26.08.2009 18:39